package com.xnew.entity.memberArchives;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.xnew.bean.common.FileInfo;
import org.springframework.data.annotation.Transient;

import java.io.Serializable;
import java.util.HashMap;
import java.util.List;
import java.util.Map;


/**
* @Author: Zhozh
* @Description: 获奖信息表
* @DateTime: 2022/5/30
* @Params:
* @Return
*/
@TableName("t21_aww_info")
public class AwwInfo implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
    * 获奖信息id
    */
    @TableId("aww_info_id")
    private String awwInfoId;

    /**
    * 信息报送审核状态编码
    */
    private String infsubAuditStatusCode;

    /**
    * 颁奖单位编号
    */
    private String awardgUnitNo;

    /**
    * 机构用户编号
    */
    private String orgUserNo;

    /**
    * 奖励日期
    */
    private String awardDate;

    /**
    * 受奖励对象编码
    */
    private String winnerCode;

    /**
    * 获奖信息相关文件文号
    */
    private String awwInfoFileNmb;

    /**
    * 奖励原因
    */
    private String awardReason;

    /**
    * 获奖相关人员
    */
    private String awwRelatPrsn;

    /**
    * 奖励内容
    */
    private String awardContent;

    /**
    * 信息录入人编号
    */
    private String infoInputPsnNo;

    /**
    * 信息录入时间
    */
    private String infoInputTime;

    /**
    * 更新人编号
    */
    private String updatePsnNo;

    /**
    * 信息修改时间
    */
    private String infoModyTime;

    /**
    * 受奖励对象名称
    */
    private String winnerName;

    /**
    * 颁奖单位名称
    */
    private String awardgUnitName;

    /**
    * 奖励称号
    */
    private String awardTitle;

    /**
    * 奖励等级
    */
    private String awardGrade;

    /**
    * 是否关闭状态
    */
    private String isCloseStatus;
    @TableField(exist = false)
    private List<FileInfo> fileList;

    public List<FileInfo> getFileList() {
        return fileList;
    }

    public void setFileList(List<FileInfo> fileList) {
        this.fileList = fileList;
    }

    @TableField(exist = false)
    private List<AuditLog> auditLogList;


    public List<AuditLog> getAuditLogList() {
        return auditLogList;
    }

    public void setAuditLogList(List<AuditLog> auditLogList) {
        this.auditLogList = auditLogList;
    }

    @TableField(exist = false)
    private List<MemInfoChgHist> histList;

    public List<MemInfoChgHist> getHistList() {
        return histList;
    }

    public void setHistList(List<MemInfoChgHist> histList) {
        this.histList = histList;
    }

    public AwwInfo() {
    }

    public String getAwwInfoId() {
        return awwInfoId;
    }

    public void setAwwInfoId(String awwInfoId) {
        this.awwInfoId = awwInfoId;
    }

    public String getInfsubAuditStatusCode() {
        return infsubAuditStatusCode;
    }

    public void setInfsubAuditStatusCode(String infsubAuditStatusCode) {
        this.infsubAuditStatusCode = infsubAuditStatusCode;
    }

    public String getAwardgUnitNo() {
        return awardgUnitNo;
    }

    public void setAwardgUnitNo(String awardgUnitNo) {
        this.awardgUnitNo = awardgUnitNo;
    }

    public String getOrgUserNo() {
        return orgUserNo;
    }

    public void setOrgUserNo(String orgUserNo) {
        this.orgUserNo = orgUserNo;
    }

    public String getAwardDate() {
        return awardDate;
    }

    public void setAwardDate(String awardDate) {
        this.awardDate = awardDate;
    }

    public String getWinnerCode() {
        return winnerCode;
    }

    public void setWinnerCode(String winnerCode) {
        this.winnerCode = winnerCode;
    }

    public String getAwwInfoFileNmb() {
        return awwInfoFileNmb;
    }

    public void setAwwInfoFileNmb(String awwInfoFileNmb) {
        this.awwInfoFileNmb = awwInfoFileNmb;
    }

    public String getAwardReason() {
        return awardReason;
    }

    public void setAwardReason(String awardReason) {
        this.awardReason = awardReason;
    }

    public String getAwwRelatPrsn() {
        return awwRelatPrsn;
    }

    public void setAwwRelatPrsn(String awwRelatPrsn) {
        this.awwRelatPrsn = awwRelatPrsn;
    }

    public String getAwardContent() {
        return awardContent;
    }

    public void setAwardContent(String awardContent) {
        this.awardContent = awardContent;
    }

    public String getInfoInputPsnNo() {
        return infoInputPsnNo;
    }

    public void setInfoInputPsnNo(String infoInputPsnNo) {
        this.infoInputPsnNo = infoInputPsnNo;
    }

    public String getInfoInputTime() {
        return infoInputTime;
    }

    public void setInfoInputTime(String infoInputTime) {
        this.infoInputTime = infoInputTime;
    }

    public String getUpdatePsnNo() {
        return updatePsnNo;
    }

    public void setUpdatePsnNo(String updatePsnNo) {
        this.updatePsnNo = updatePsnNo;
    }

    public String getInfoModyTime() {
        return infoModyTime;
    }

    public void setInfoModyTime(String infoModyTime) {
        this.infoModyTime = infoModyTime;
    }

    public String getWinnerName() {
        return winnerName;
    }

    public void setWinnerName(String winnerName) {
        this.winnerName = winnerName;
    }

    public String getAwardgUnitName() {
        return awardgUnitName;
    }

    public void setAwardgUnitName(String awardgUnitName) {
        this.awardgUnitName = awardgUnitName;
    }

    public String getAwardTitle() {
        return awardTitle;
    }

    public void setAwardTitle(String awardTitle) {
        this.awardTitle = awardTitle;
    }

    public String getAwardGrade() {
        return awardGrade;
    }

    public void setAwardGrade(String awardGrade) {
        this.awardGrade = awardGrade;
    }

    public String getIsCloseStatus() {
        return isCloseStatus;
    }

    public void setIsCloseStatus(String isCloseStatus) {
        this.isCloseStatus = isCloseStatus;
    }

    @Transient
    @JsonInclude(JsonInclude.Include.NON_NULL)
    @TableField(exist = false)
    private Map<String, Object> dictNameResult = new HashMap<String, Object>();

    public Map<String, Object> getDictNameResult() {
        return dictNameResult;
    }

    public void setDictNameResult(Map<String, Object> dictNameResult) {
        this.dictNameResult = dictNameResult;
    }

    //数据字典
    @Transient
    @JsonInclude(JsonInclude.Include.NON_NULL)
    public String[] buildIncludeField(){
        return new String[]{"infsubAuditStatusCode","awardgUnitNo","winnerCode","auditLogList"};
    }

    /*数据字典*/
    @Transient
    @JsonInclude(JsonInclude.Include.NON_NULL)
    public String[] buildIncludeType(){
        return new String[]{"DG0149","DG0436","DG0171","LIST"};
    }
}